#pragma once

#include "Misc/EngineEditorMacros.h"
#include "Object/Object.h"
#include "EditorContextMenuView.m.h"

class REditorContextMenuViewModel;
class RWindow;

RCLASS()
class REditorContextMenuView  : public RObject
{
    ROBJECT

public:
    void BindViewModel(TSharedObjectPtr<REditorContextMenuViewModel> InViewModel);

protected:
    TSharedObjectPtr<REditorContextMenuViewModel> ViewModel;

    TMap<int64_t /*menu index*/ ,TSharedObjectPtr<RWindow>> Windows;

    void OnMenuChanged(int64_t InMenuIndex);
    void CreateWindow(int64_t MenuIndex);
};